package org.broadway.interfaces;

import org.broadway.exceptions.CollectorException;

/**
 * The ResourceCollector interface provides a generic interface to create components
 * that generate a collection of objects to be scanned and/or evluated.
 * Collector allows designer to further decouple functionalities implemented 
 * using the broadway framework.  Again the type is parameterized to provide
 * maximum flexibility for implementation.
 * 
 * @author vmatters
 *
 */
public interface ResourceCollector <COLLECTION_TYPE> {
	/***
	 * This method generates the collection of object to be enumrated.
	 * @return - a collection of enumerated objects.
	 * @throws CollectorException - throws an unchecked exception when the enumeration operation fails.
	 */
	public COLLECTION_TYPE collect() throws CollectorException;
}
